This invention relates generally to the transmission of data in telecommunications networks and more particularly to the insertion of packets into an existing stream of data.
In the vast majority of conventional communication networks, data is often arranged into packets so that it can be manipulated more easily. Packets are typically provided with sufficient identification information to be handled independently from one another. This identification information is usually contained in a header which is appended to each packet. With this information, packets generated by different users can be transmitted in any order and reassembled at the intended destination. This flexibility allows schedulers used in today""s networks to interleave packets and concurrently service transmission requests from different users.
For the transmission of data packets in a communication network, it is often convenient to subdivide each packet into smaller xe2x80x9cchunksxe2x80x9d known as physical layer blocks. By subdividing each data packet into smaller physical layer blocks, the data packets can be more easily manipulated by the transmission equipment and coding techniques can be used to ensure their safe transmission. For example, in order to ensure the error-free (low-error rate) transmission of data packets on a particular communication link, the packets may be subdivided into blocks and encoded with a forward error correcting code (FEC). Typically, this is done using a common block size as this allows the use of standardized encoding and decoding equipment at each end of the communication link which is independent of the size of the data packets to be transmitted.
While some physical layer protocols allow physical layer blocks for different higher-protocol-layer packets to be interleaved, other physical layer protocols require the physical layer blocks to be transmitted consecutively for a given packet. This is the case, for example, where only the first physical layer block for a given packet contains information about the identity of the packet. In such protocols an existing packet (or its associated blocks) cannot be xe2x80x9cinterruptedxe2x80x9d to transmit other packets which may have a priority higher than that of the packet in the process of being transmitted. As the packets may be of varying size, depending of the user""s application, high priority packets may be inappropriately delayed while waiting for long lower priority packets to complete their transmission.
This problem is exacerbated if the packets are of widely varying sizes. The presence of long user packets in the data stream can significantly increase the jitter or variation in the arrival time of other packets in the stream and seriously affect the overall performance.
For example, in a commonly used transmission scheme known as the ATSC A/53 Digital data/television standard, the user data is grouped into blocks of 188 bytes and transmitted at a rate of 10.7 mega-symbols per second or 21.4 Megabits/second. Thus, the transmission of each block with this standard requires approximately 76 micro-seconds (psec). User packets typically range from a few bytes to over 1500 bytes, and in accordance with this particular standard, may require anywhere from 1 to 9 blocks for transmission, depending on their length. This translates into a transmission time of at least 76 xcexcsec (1 block) and as high as 684 xcexcsec (9 blocks) for each packet. As a result, the jitter (or variability in arrival time) observed for speech or video packets interspersed with other large packets may fluctuate from 76 xcexcsec to 684 xcexcsec which leads to a substantial degradation in performance.
In conventional systems, it is up to the scheduler process in the transmitter to try to organize the transmission of the packets such that the higher priority packets are not unduly delayed by other less important packets which have a lower priority. In so doing, the scheduler must leave enough room on the communication link to allow for the transmission of higher priority packets when necessary. However, this often results in an inefficient use of the communication links which can also seriously affect the overall performance of the communication network.
In view of these problems, it would be desirable to be able to xe2x80x9cinterruptxe2x80x9d the transmission of an existing packet. As noted above, there may be situations where some packets are more important than others and may require transmission without being unduly delayed. This would occur where, for example, time sensitive data such as a speech packet must be transmitted while a long data packet is in the course of being transmitted. The speech packet may be time sensitive in the sense that if it does not arrive in time at the receiver, there will be an audible interruption to the received speech. The longer data packet is typically of lower priority as it may be part of computer-to-computer communication in which a protocol such as the Transmission Control Protocol/Internet Protocol (TCP/IP) is being used to control the transport of a larger message composed of a number of packets which may arrive slowly (over an interval of a few milliseconds or seconds) at the intended destination.
Accordingly, there is a need to provide a communication network with an efficient method for interrupting the transmission of existing (low-priority) packets to insert one or more new (higher priority) packets.
It is an object of the present invention to obviate or mitigate one or more of the above-identified disadvantages.
For systems in which packets are each transmitted as a series of consecutive physical layer blocks, this invention provides a method and apparatus for efficiently interrupting the transmission of an existing packet to send one or more interrupting packets which may have a higher priority than that of the existing packet. When an interrupting packet must be sent, the transmission of physical layer blocks used for the existing packet is interrupted to allow the transmission of at least one new block for the interrupting packet. The presence of the interrupting packet within the new block is efficiently denoted by existing fields which are already used for a different function when there is no interrupting packets.
In a preferred embodiment, the invention is used in connection with common transmission schemes known as the Data Over Cable Service Interchange Specification (DOCSIS) or the Asynchronous Transfer Mode (ATM) adaptation layer 2 (AAL2) format of the International Telecommunications Union (ITU) recommendation I363.2. In these schemes, the presence of a new packet in a physical layer block is indicated as part of the block format. In the DOCSIS specification, the presence of a new packet is indicated by a Payload Unit Start Indicator (PUSI) and a Pointer Field (PF). In the ATM AAL2 I.363.2 format, an OffSet Field (OSF) is used. The presence of an new interrupting packet in a physical layer block is denoted by setting the PUSI/PF or OSF to an unused value (and formely invalid) to flag the new packet as an interrupting packet.
Advantageously, the method provided by the present invention can be practised recursively to accommodate multiple levels of interruption. As such, an interrupting packet can itself be interrupted by another, perhaps more important packet. When the transmission of an interrupting packet is complete, the transmission reverts back to the preceding level of interrupted packets until all levels of interruption are completed. With this method, multiple levels of interruption may be realized to efficiently regulate the transmission of packets with different priorities.
By comparison with existing methods, another advantage of the present invention is that the scheduling of packets is significantly simplified. Because data packets can be interrupted whenever necessary, they can be transmitted anytime without delaying the transmission of higher priority packets. As a result, the idle periods are reduced and the communication links present in a network are more efficiently used.
Yet still another advantage of the present invention is that the jitter in the arrival time of higher priority packets can be better controlled which results in a significant improvement in transmission performance.